package com.ayf.payment.game.api.service;

import com.ayf.payment.game.api.dto.GamePlayerCashOrderDTO;
import com.ayf.payment.game.api.dto.SumGamePlayerCashOrderDTO;
import com.ayf.payment.game.api.dto.UpdateGamePlayerCashOrderDTO;
import com.ayf.payment.game.api.dto.criteria.GameOrderCriteria;
import com.ayf.payment.game.api.dto.criteria.GameOrderPageCriteria;
import com.ayf.payment.game.api.dto.criteria.GamePlayerCashOrderStatisticsCriteria;
import com.ayf.payment.game.api.dto.response.GamePlayerCashOrderStatisticsDTO;
import com.ayf.payment.game.api.entity.GamePlayerCashOrder;

import java.util.List;

public interface GamePlayerCashOrderService {


    List<GamePlayerCashOrderDTO> list(GameOrderPageCriteria criteria);

    void updateById(UpdateGamePlayerCashOrderDTO dto);

    void updateByMerChantOrderNo(GamePlayerCashOrderDTO dto);

    void addAliPayOrder(GamePlayerCashOrderDTO dto, String traceId);

    void delGameOrder(GameOrderCriteria criteria);

    void addGameOrder(GamePlayerCashOrderDTO orderDTO);

    SumGamePlayerCashOrderDTO sum(GameOrderCriteria criteria);

    GamePlayerCashOrderDTO findByGameOrderNo(Integer merchantId, String gameOrderNo);

    GamePlayerCashOrder findById(String id);

    void playerGatewayNotify(GamePlayerCashOrderDTO dto);

    List<GamePlayerCashOrderDTO> listexport(GameOrderCriteria criteria);

    GamePlayerCashOrderStatisticsDTO dayStatisticsList(GamePlayerCashOrderStatisticsCriteria criteria);

    /**
     * 根据商户订单号更新状态
     * @author lch
     * @date 2021/12/13
     */
	void updateStatusByMerChantOrderNo(GamePlayerCashOrderDTO dto1);

	/**
	 * 根据id修改
	 * @author lch
	 * @date 2021/12/29
	 */
    void updateById(GamePlayerCashOrderDTO gameDto);
}
